Основы линейной алгебры
Ранг матрицы
Понятие ранга матрицы
Минором -го порядка матрицы называется определитель -го порядка, составленный из элементов матрицы , роасположенных на пересечении выбранных строк и столбцов.
Например, для матрицы можно составить 4 минора 3-го порядка, исключая по очереди один из столбцов, 18 миноров 2-го порядка, вычеркивая 2 столбца и 1 строку, и 12 миноров 1-го порядка, которые равны элементам матрицы.
Рангом матрицы A называется наибольший порядок отличных от нуля миноров этой матрицы и обозначается или .
Для любой ненулевой матрицы размером выполняется условие: .
У матрицы , приведенной выше, все миноры 3-го порядка равны 0, а минор второго порядка . Следовательно, ранг этой матрицы равен 2.
Элементарные преобразования матрицы
Элементарными преобразованиями матрицы называются преобразования следующих типов:
- перестановка двух строк (или столбцов) матрицы;
- умножение строки (или столбца) матрицы на число, отличное от нуля;
- прибавление к одной строке (или столбцу) матрицы другой ее строки (или столбца), умноженной на любое число.
Матрицы и , называются эквивалентными (), если одна из них получена из другой с помощью элементарных преобразований.
Эквивалентные матрицы имеют один и тот же ранг.
Нахождение ранга матрицы с помощью элементарных преобразований
Метод элементарных преобразований для вычисления ранга матрицы заключается в том, что матрица с помощью элементарных преобразований приводится к ступенчатому виду:
где .
Тогда ранг матрицы равен числу ее ненулевых строк .
Например, для нахождения ранга матрицы приведем ее к ступенчатому виду. Для этого ко второй строке прибавим первую строку, умноженную на , а к третьей строке прибавим первую строку, умноженную на :
Затем к третьей строке прибавим вторую строку, умноженную на :
Получившаяся эквивалентная матрица имеет две ненулевые строки, поэтому .
Выполним рассмотренный выше пример в Engee.
A = [1 0 -3 0; 2 0 4 0; 3 0 6 0];
print("A =");
display(A);
B = A;
B[2,:] = A[2,:] + A[1,:] * (-2);
B[3,:] = A[3,:] + A[1,:] * (-3);
print("B =");
display(B);
C = B;
C[3,:] = B[3,:] + B[2,:] * (-1.5);
print("C =");
display(C);
В получившейся ступенчатой матрице две ненулевые строки. Следовательно, ранг матрицы равен 2.
Вычисление ранга матрицы в Engee
В Engee ранг матрицы вычисляется с помощью функции rank, содержащейся в библиотеке LinearAlgebra.
Например, ранг матрицы из предыдущего примера вычисляется так:
using LinearAlgebra;
A = [1 0 -3 0; 2 0 4 0; 3 0 6 0];
println("Rg(A)=", rank(A));
✏️Задание 1
Найдите в Engee ранги матриц
, и
с помощью функции rank.
Решение
using LinearAlgebra;
A = [-7 4 2; -4 1 3; 12 -3 -9];
println("Rg(A)=", rank(A));
B = [1 2 3; 2 4 6; 4 8 12];
println("Rg(B)=", rank(B));
C = [43 -56 72 91; 13 -64 37 55; 86 77 -52 34; 83 21 9 -44];
println("Rg(C)=", rank(C));
Свойства ранга матрицы
- При транспонировании матрицы ее ранг не изменяется.
- Если вычеркнуть из матрицы нулевую строку (или столбец), то ранг матрицы не изменится.
- При элементарных преобразованиях матрицы ее ранг не изменяется.
✏️Задание 2
Проверьте в Engee справедливость свойств 1, 2 и 3 для матрицы .
Для проверки свойства 3 к третьей строке матрицы прибавьте первую строку, умноженную на 3.
Решение
using LinearAlgebra;
A = [542 431 747 233; 0 0 0 0; -657 -325 184 832; 378 853 -692 948];
# Проверка свойства 1
println("Rg(A)=", rank(A));
println("Rg(A')=", rank(transpose(A)));
# Проверка свойства 2
B = [542 431 747 233; -657 -325 184 832; 378 853 -692 948];
print("B=");
display(B);
println("Rg(B)=", rank(B));
# Проверка свойства 3
C = A;
C[3,:] = A[3,:] + A[1,:] * 3;
print("C=");
display(C);
println("Rg(C)=", rank(C));